---
title: Jekyllからの移行
description: JekyllプロジェクトをAstroに移行するためのガイド
sidebar:
  label: Jekyll
type: migration
stub: true
framework: Jekyll
i18nReady: true
---

import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro';
import { LinkCard, CardGrid } from '@astrojs/starlight/components';

[Jekyll](https://jekyllrb.com)は、Rubyで構築された静的サイトジェネレーターです。

## JekyllとAstroの類似点

JekyllとAstroには、プロジェクト移行を容易にするいくつかの共通点があります。

- どちらも静的サイトジェネレーターであり、ブログ構築によく使われています。

- JekyllとAstroはいずれも、MarkdownとHTMLでコンテンツを記述できます。どちらもYAML形式のフロントマターでレイアウト指定や下書き管理などを行えます。既存のMarkdownファイルはそのままAstroで利用できます。

- JekyllとAstroはいずれも[ファイルベースのルーティング](/ja/guides/routing/)を採用しています。Astroの`src/pages/`ディレクトリと、Jekyllの`_posts/`ディレクトリは似た役割を持ちます。新しい投稿の作成手順は直感的に理解できるはずです。

## JekyllとAstroの主な相違点

- Jekyllはブログ機能に特化しており、タグやカテゴリなどの機能が組み込まれています。Astroではこれらを自分で構築するか、[ブログスターターテーマ](https://astro.build/themes?search=&categories%5B%5D=blog)を使用する必要があります。ミニマルなAstroプロジェクトにはこれらの機能は含まれていません。

- JekyllはLiquidテンプレートを使用してレイアウトや再利用可能なパーツを構築しますが、AstroはJSX風構文の[`.astro`ファイルを使ったテンプレート](/ja/basics/astro-components/)で構成されます。`.astro`ファイルは、ページ・レイアウト・コンポーネントのどれとしても利用でき、他のAstroコンポーネントや[UIフレームワークコンポーネント](/ja/guides/framework-components/)、[MarkdownやMDXファイルのデータ](/ja/guides/imports/)もインポートできます。

## JekyllサイトをAstroに変換する

JekyllブログをAstroへ移行するには、[公式ブログスターターテンプレート](https://astro.build/themes?search=&categories%5B%5D=blog)を使うか、[テーマショーケース](https://astro.build/themes/)でコミュニティ製のブログテーマを探してください。

`create astro`コマンドに`--template`を指定して、新しいAstroプロジェクトを作成できます。また、[GitHub上のAstroリポジトリから新規作成](/ja/install-and-setup/)することも可能です。

<PackageManagerTabs>
  <Fragment slot="npm">
  ```shell
  npm create astro@latest -- --template blog
  ```
  </Fragment>
  <Fragment slot="pnpm">
  ```shell
  pnpm create astro@latest --template blog
  ```
  </Fragment>
  <Fragment slot="yarn">
  ```shell
  yarn create astro --template blog
  ```
  </Fragment>
</PackageManagerTabs>

既存のMarkdownファイルをそのままAstroに移行し、Liquidテンプレートの代わりに、[AstroのMarkdownレイアウト](/ja/basics/layouts/#markdownのレイアウト)を使用してMarkdownページを作成してください。

既存のHTMLページコンテンツの多くは[Astroページ](/ja/basics/astro-pages/)へ変換できます。また、HTMLテンプレート内に直接[変数、JSX風の式、コンポーネントのインポート](/ja/reference/astro-syntax/#jsxライクな式)を利用できます。

AstroにはJekyllのような`permalink`プロパティは存在せず、プレースホルダーも利用できません。既存のURL構造を維持したい場合は、[Astroのルーティングガイド](/ja/guides/routing/)を確認するか、[Netlifyなどのホスティングサービスでリダイレクトを設定](https://docs.netlify.com/routing/redirects/)してください。

ポートフォリオサイトやドキュメントサイトを移行したい場合は、[astro.new](https://astro.new)のスターターテンプレートをご覧ください。GitHubリポジトリへのリンクや、IDX・StackBlitz・CodeSandbox・Gitpodでの起動リンクも用意されています。

## コミュニティリソース

<CardGrid>

  <LinkCard title="From Jekyll to Astro" href="https://jackcarey.co.uk/posts/astro-rewrite/" />
  <LinkCard title="Goodbye Jekyll, Hello Astro" href="https://kiranrao.in/blog/bye-jekyll-hello-astro/" />
  <LinkCard title="Back to the Future: Our Tech Blog's Transition from Jekyll to Astro" href="https://alasco.tech/2023/09/06/migrating-to-astro" />

</CardGrid>

:::note[共有したいリソースがありますか？]
JekyllサイトのAstroへの移行に役立つ動画やブログ記事を見つけた（または作成した）場合は、[こちらのリストに追加してください](https://github.com/withastro/docs/edit/main/src/content/docs/en/guides/migrate-to-astro/from-jekyll.mdx)！
:::
